package com.lagou.dao;

import com.lagou.domain.*;

import java.util.List;

public interface UserMapper {

    /**
     * 用户分页&多条件组合查询
     */
    public List<User> findAllUserByPage(UserVo userVo);

    /**
     * 用户状态设置
     */
    public void updateUserStatus(User user);

    /**
     * 用户登录（根据用户名查询具体的用户信息）
     */
    public User login(User user);

    /**
     * 清空中间表(根据userId清空中间表关联关系)
     */
    public void deleteUserContextRole(Integer ID);

    /**
     * 分配角色
     */
    public void userContextRole(User_Role_relation user_role_relation);

    /**
     * 1.根据用户id查询关联的角色信息
     */
    public List<Role> findUserRelationRoleById(Integer id);

    /**
     * 2.根据角色id查询角色所拥有的顶级菜单(父级菜单-1)
     */
    public List<Menu> findParentMenuByRoleId(List<Integer> ids);

    /**
     * 3.根据pid(父级菜单id)查询子菜单信息
     */
    public List<Menu> findSubMenuByPid(Integer pid);

    /**
     * 4.获取用户拥有的资源权限信息
     * 注：用户与资源没有直接关系，用户与角色有直接关系，角色与资源有直接关系
     */
    public List<Resource> findResourceByRoleId(List<Integer> ids);


}
